The concept of a Böhm tree arises in lambda calculus, a discipline within mathematical logic and computer science. It is named after Corrado Böhm.
If one considers lambda-terms as trees, the set of Böhm trees is the set of all possible trees built by taking a lambda-term and replacing zero, one or more subterms by a special symbol , and allowing for infinite trees. It can be proved that Böhm trees are a model of lambda-calculus.
Böhm trees can be ordered by the following relation : if can be obtained out of by replacing some occurrences of by subtrees. Clearly, every Böhm tree is such that . The set of Böhm trees with this ordering is a complete partial order.
Informally, starting from a lambda-term and reducing it to try to reach a normal form using the leftmost outermost evaluation strategy, we can use Böhm trees as we go as a way to represent the information obtained so far about the normal form (with the indicating the subterms which still need to be reduced). If the lambda-term isn't strongly normalizing, the leftmost outermost evaluation strategy will fail to terminate, and the interpretation of the lambda-term will be an infinite Böhm tree.